home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 9 / FM Towns Free Software Collection 9.iso / taropyon / silib / inc / lib / btnlst.h
Encoding:
C/C++ Source or Header  |  1994-11-16  |  1.7 KB  |  65 lines

  1. #ifndef    _LIB_BTNLST_H
  2. #define    _LIB_BTNLST_H
  3.  
  4. #ifndef    _SIEV_H
  5. #    include    <siev.h>
  6. #endif
  7. #ifndef    _SIFTS_H
  8. #    include    <sifts.h>
  9. #endif
  10.  
  11. typedef struct _btnlst_t
  12. {
  13.     struct _btnlst_t    *next;
  14.  
  15.     FTSDAT_T   *fts;            /* フォント                */
  16.     char       *msg;            /* メッセージ            */
  17.     int            xsMsg, ysMsg;    /* 文字の表示領域        */
  18.     int            xs, ys;            /* ボタンの大きさ        */
  19.     COLOR_T        cstr, cbac;        /* 文字色,背景色        */
  20.     COLOR_T        chil, csha;        /* ハイライト,シャドー    */
  21.  
  22.     struct
  23.     {    USHORT        ch, ec;
  24.         int            evNo;
  25.         int            (*func)(int,EVDAT_T *);
  26.         void        *ptr;
  27.     } ev;
  28. } BTNLST_T;
  29.  
  30. #define    BTNLST_SET(_top,_fts,_xs,_ys,_msg,_cstr,_cbac,_chil,_csha,_ch,_ec,_evNo,_func,_ptr)    \
  31. {    BTNLST_T    _para;            \
  32.     _para.fts     = (_fts);        \
  33.     _para.xs      = (_xs);        \
  34.     _para.ys      = (_ys);        \
  35.     _para.cstr    = (_cstr);    \
  36.     _para.cbac    = (_cbac);    \
  37.     _para.chil    = (_chil);    \
  38.     _para.csha    = (_csha);    \
  39.     _para.ev.ch   = (_ch);        \
  40.     _para.ev.ec   = (_ec);        \
  41.     _para.ev.evNo = (_evNo);    \
  42.     _para.ev.func = (_func);    \
  43.     _para.ev.ptr  = (_ptr);        \
  44.     BtnLst_set((_top),&_para,"%s",(_msg));    \
  45. }
  46. #define    BTNLST_SETPARA(_para,_fts,_xs,_ys,_cstr,_cbac,_chil,_csha,_ch,_ec,_evNo,_func,_ptr)    \
  47. {    (_para)->fts     = (_fts);    \
  48.     (_para)->xs      = (_xs);    \
  49.     (_para)->ys      = (_ys);    \
  50.     (_para)->cstr    = (_cstr);    \
  51.     (_para)->cbac    = (_cbac);    \
  52.     (_para)->chil    = (_chil);    \
  53.     (_para)->csha    = (_csha);    \
  54.     (_para)->ev.ch   = (_ch);    \
  55.     (_para)->ev.ec   = (_ec);    \
  56.     (_para)->ev.evNo = (_evNo);    \
  57.     (_para)->ev.func = (_func);    \
  58.     (_para)->ev.ptr  = (_ptr);    \
  59. }
  60.  
  61. extern int        BtnLst_set( BTNLST_T **btnTop, BTNLST_T *para, CONST char *form, ... );
  62. extern void        BtnLst_clear( BTNLST_T *btnTop );
  63.  
  64. #endif
  65.